Container 可能會讓你聯想到 Docker,然而 Docker 並不是第一個發明 Container 的公司。在 2008 年 Linux 發布了 Linux Container (簡稱 LXC)
首先我們來瞭解 Linux 的管理工具 -- Linux Control Group
Cgroup 為 Linux 特有的 Kernel feature,Kernel 是每個 OS 都會有的 program 用來調度軟硬體之間的配合。藉由 cgroup 可以針對 Linux 上的每個 process 控制其在硬體設備上的應用,像是 CPU, Disk I/O, Network Usage, etc,.
你可以管理 cgroup,使用前要先安裝 library (但記得 cgroup 是 Linux 才有的功能在其他 OS 上沒有,不過你還是可以透過 Docker 間接地管理):
Linux / CentOS
$sudo yum install libcgroup libcgroup-tools
安裝完成後,在 cgroup 底下創建一個 group
$ sudo mkdir /sys/fs/cgroup/memory/foo
針對每個 group 可以控制其 Memory, RAM, 以及其他的 hardware。想了解更多可以參考:
https://www.linuxjournal.com/content/everything-you-need-know-about-linux-containers-part-i-linux-control-groups-and-process